Micron Document
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
| SparkN0de-git | SparkN0de |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------


Displaying Raw • Download


sbapp/kivymd/uix/selectioncontrol/selectioncontrol.py bcd5c37101c0030372e2f537fc450741d84f6a82 (bcd5c371) Text, 21.86 KB

T8b949e"""
Components/SelectionControls
============================

.. seealso::

`Material Design spec, Selection controls <https://material.io/components/selection-controls>`_

.. rubric:: Selection controls allow the user to select options.

.. image:: https://github.com/HeaTTheatR/KivyMD-data/raw/master/gallery/kivymddoc/selection-controll.png
:align: center

`KivyMD` provides the following selection controls classes for use:

MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_ MDCheckbox_
MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_ MDSwitch_

.. MDCheckbox:
MDCheckbox
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

.. code-block:: python

from kivy.lang import Builder

from kivymd.app import MDApp


KV = '''
MDFloatLayout:

MDCheckbox:
size_hint: None, None
size: "48dp", "48dp"
pos_hint: {'center_x': .5, 'center_y': .5}
'''


class Test(MDApp):
def build(self):
return Builder.load_string(KV)


Test().run()

.. image:: https://github.com/HeaTTheatR/KivyMD-data/raw/master/gallery/kivymddoc/checkbox.gif
:align: center

.. Note:: Be sure to specify the size of the checkbox. By default, it is
``(dp(48), dp(48))``, but the ripple effect takes up all the available
space.

Control state
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

.. code-block:: kv

MDCheckbox:
on_active: app.on_checkbox_active(*args)

.. code-block:: python

def on_checkbox_active(self, checkbox, value):
if value:
print('The checkbox', checkbox, 'is active', 'and', checkbox.state, 'state')
else:
print('The checkbox', checkbox, 'is inactive', 'and', checkbox.state, 'state')

MDCheckbox with group
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

.. code-block:: python

from kivy.lang import Builder

from kivymd.app import MDApp

KV = '''
<Check@MDCheckbox>:
group: 'group'
size_hint: None, None
size: dp(48), dp(48)


MDFloatLayout:

Check:
active: True
pos_hint: {'center_x': .4, 'center_y': .5}

Check:
pos_hint: {'center_x': .6, 'center_y': .5}
'''


class Test(MDApp):
def build(self):
return Builder.load_string(KV)


Test().run()

.. image:: https://github.com/HeaTTheatR/KivyMD-data/raw/master/gallery/kivymddoc/checkbox-group.gif
:align: center

.. MDSwitch:
MDSwitch
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

.. code-block:: python

from kivy.lang import Builder

from kivymd.app import MDApp

KV = '''
MDFloatLayout:

MDSwitch:
pos_hint: {'center_x': .5, 'center_y': .5}
'''


class Test(MDApp):
def build(self):
return Builder.load_string(KV)


Test().run()

.. image:: https://github.com/HeaTTheatR/KivyMD-data/raw/master/gallery/kivymddoc/md-switch.gif
:align: center

.. Note:: For :class:`~MDSwitch` size is not required. By default it is
``(dp(36), dp(48))``, but you can increase the width if you want.

.. code-block:: kv

MDSwitch:
width: dp(64)

.. image:: https://github.com/HeaTTheatR/KivyMD-data/raw/master/gallery/kivymddoc/md-switch_width.png
:align: center

.. Note:: Control state of :class:`~MDSwitch` same way as in
:class:`~MDCheckbox`.

MDSwitch in M3 style
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

.. code-block:: python

from kivy.lang import Builder

from kivymd.app import MDApp

KV = '''
MDScreen:

MDSwitch:
pos_hint: {'center_x': .5, 'center_y': .5}
active: True
'''


class Test(MDApp):
def build(self):
self.theme_cls.material_style = "M3"
return Builder.load_string(KV)


Test().run()

.. image:: https://github.com/HeaTTheatR/KivyMD-data/raw/master/gallery/kivymddoc/checkbox-m3.gif
:align: center
"""

Te6edf3__all__ Tff7b72= Tb4b4b4(Ta5d6ff"Ta5d6ffMDCheckboxTa5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ffMDSwitchTa5d6ff"Tb4b4b4)

Tff7b72import T7ee787os

Tff7b72from T7ee787kivyT7ee787.T7ee787animation Tff7b72import Te6edf3Animation
Tff7b72from T7ee787kivyT7ee787.T7ee787clock Tff7b72import Te6edf3Clock
Tff7b72from T7ee787kivyT7ee787.T7ee787lang Tff7b72import Te6edf3Builder
Tff7b72from T7ee787kivyT7ee787.T7ee787metrics Tff7b72import Te6edf3dpTb4b4b4, Te6edf3sp
Tff7b72from T7ee787kivyT7ee787.T7ee787properties Tff7b72import Tb4b4b4(
Te6edf3BooleanPropertyTb4b4b4,
Te6edf3ColorPropertyTb4b4b4,
Te6edf3ListPropertyTb4b4b4,
Te6edf3StringPropertyTb4b4b4,
Tb4b4b4)
Tff7b72from T7ee787kivyT7ee787.T7ee787uixT7ee787.T7ee787behaviors Tff7b72import Te6edf3ToggleButtonBehavior
Tff7b72from T7ee787kivyT7ee787.T7ee787uixT7ee787.T7ee787floatlayout Tff7b72import Te6edf3FloatLayout
Tff7b72from T7ee787kivyT7ee787.T7ee787utils Tff7b72import Te6edf3get_color_from_hex

Tff7b72from T7ee787kivymd Tff7b72import Te6edf3uix_path
Tff7b72from T7ee787kivymdT7ee787.T7ee787color_definitions Tff7b72import Te6edf3colors
Tff7b72from T7ee787kivymdT7ee787.T7ee787theming Tff7b72import Te6edf3ThemableBehavior
Tff7b72from T7ee787kivymdT7ee787.T7ee787uixT7ee787.T7ee787behaviors Tff7b72import Tb4b4b4(
Te6edf3CircularRippleBehaviorTb4b4b4,
Te6edf3FakeCircularElevationBehaviorTb4b4b4,
Tb4b4b4)
Tff7b72from T7ee787kivymdT7ee787.T7ee787uixT7ee787.T7ee787floatlayout Tff7b72import Te6edf3MDFloatLayout
Tff7b72from T7ee787kivymdT7ee787.T7ee787uixT7ee787.T7ee787label Tff7b72import Te6edf3MDIcon

Tff7b72with Tffa657openTb4b4b4(
Te6edf3osTff7b72.Td2a8ffpathTff7b72.Td2a8ffjoinTb4b4b4(Te6edf3uix_pathTb4b4b4, Ta5d6ff"Ta5d6ffselectioncontrolTa5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ffselectioncontrol.kvTa5d6ff"Tb4b4b4)Tb4b4b4,
Te6edf3encodingTff7b72=Ta5d6ff"Ta5d6ffutf-8Ta5d6ff"Tb4b4b4,
Tb4b4b4) Tff7b72as Te6edf3kv_fileTb4b4b4:
Te6edf3BuilderTff7b72.Td2a8ffload_stringTb4b4b4(Te6edf3kv_fileTff7b72.Td2a8ffreadTb4b4b4(Tb4b4b4)Tb4b4b4)


Tff7b72class T56d364MDCheckboxTb4b4b4(Te6edf3CircularRippleBehaviorTb4b4b4, Te6edf3ToggleButtonBehaviorTb4b4b4, Te6edf3MDIconTb4b4b4)Tb4b4b4:
Te6edf3active Tff7b72= Te6edf3BooleanPropertyTb4b4b4(Tff7b72FalseTb4b4b4)
T8b949e"""
Indicates if the checkbox is active or inactive.

:attr:`active` is a :class:`~kivy.properties.BooleanProperty`
and defaults to `False`.
"""

Te6edf3checkbox_icon_normal Tff7b72= Te6edf3StringPropertyTb4b4b4(Ta5d6ff"Ta5d6ffcheckbox-blank-outlineTa5d6ff"Tb4b4b4)
T8b949e"""
Background icon of the checkbox used for the default graphical
representation when the checkbox is not pressed.

:attr:`checkbox_icon_normal` is a :class:`~kivy.properties.StringProperty`
and defaults to `'checkbox-blank-outline'`.
"""

Te6edf3checkbox_icon_down Tff7b72= Te6edf3StringPropertyTb4b4b4(Ta5d6ff"Ta5d6ffcheckbox-markedTa5d6ff"Tb4b4b4)
T8b949e"""
Background icon of the checkbox used for the default graphical
representation when the checkbox is pressed.

:attr:`checkbox_icon_down` is a :class:`~kivy.properties.StringProperty`
and defaults to `'checkbox-marked'`.
"""

Te6edf3radio_icon_normal Tff7b72= Te6edf3StringPropertyTb4b4b4(Ta5d6ff"Ta5d6ffcheckbox-blank-circle-outlineTa5d6ff"Tb4b4b4)
T8b949e"""
Background icon (when using the ``group`` option) of the checkbox used for
the default graphical representation when the checkbox is not pressed.

:attr:`radio_icon_normal` is a :class:`~kivy.properties.StringProperty`
and defaults to `'checkbox-blank-circle-outline'`.
"""

Te6edf3radio_icon_down Tff7b72= Te6edf3StringPropertyTb4b4b4(Ta5d6ff"Ta5d6ffcheckbox-marked-circleTa5d6ff"Tb4b4b4)
T8b949e"""
Background icon (when using the ``group`` option) of the checkbox used for
the default graphical representation when the checkbox is pressed.

:attr:`radio_icon_down` is a :class:`~kivy.properties.StringProperty`
and defaults to `'checkbox-marked-circle'`.
"""

Te6edf3color_active Tff7b72= Te6edf3ColorPropertyTb4b4b4(Tff7b72NoneTb4b4b4)
T8b949e"""
Color when the checkbox is in the active state.

.. versionadded:: 1.0.0

.. code-block:: kv

MDCheckbox:
color_active: "red"

.. image:: https://github.com/HeaTTheatR/KivyMD-data/raw/master/gallery/kivymddoc/checkbox-color-active.png
:align: center

:attr:`color_active` is a :class:`~kivy.properties.ColorProperty`
and defaults to `None`.
"""

Te6edf3color_inactive Tff7b72= Te6edf3ColorPropertyTb4b4b4(Tff7b72NoneTb4b4b4)
T8b949e"""
Color when the checkbox is in the inactive state.

.. versionadded:: 1.0.0

.. code-block:: kv

MDCheckbox:
color_inactive: "blue"

.. image:: https://github.com/HeaTTheatR/KivyMD-data/raw/master/gallery/kivymddoc/checkbox-color-inactive.png
:align: center

:attr:`color_inactive` is a :class:`~kivy.properties.ColorProperty`
and defaults to `None`.
"""

Te6edf3disabled_color Tff7b72= Te6edf3ColorPropertyTb4b4b4(Tff7b72NoneTb4b4b4)
T8b949e"""
Color when the checkbox is in the disabled state.

.. code-block:: kv

MDCheckbox:
disabled_color: "lightgrey"
disabled: True
active: True

.. image:: https://github.com/HeaTTheatR/KivyMD-data/raw/master/gallery/kivymddoc/checkbox-disabled-color.png
:align: center

:attr:`disabled_color` is a :class:`~kivy.properties.ColorProperty`
and defaults to `None`.
"""

T8b949e# Deprecated property.

Te6edf3selected_color Tff7b72= Te6edf3ColorPropertyTb4b4b4(Tff7b72NoneTb4b4b4, Te6edf3deprecatedTff7b72=Tff7b72TrueTb4b4b4)
T8b949e"""
Color when the checkbox is in the active state.

.. deprecated:: 1.0.0
Use :attr:`color_active` instead.

:attr:`selected_color` is a :class:`~kivy.properties.ColorProperty`
and defaults to `None`.
"""

Te6edf3unselected_color Tff7b72= Te6edf3ColorPropertyTb4b4b4(Tff7b72NoneTb4b4b4, Te6edf3deprecatedTff7b72=Tff7b72TrueTb4b4b4)
T8b949e"""
Color when the checkbox is in the inactive state.

.. deprecated:: 1.0.0
Use :attr:`color_inactive` instead.

:attr:`unselected_color` is a :class:`~kivy.properties.ColorProperty`
and defaults to `None`.
"""

Te6edf3_current_color Tff7b72= Te6edf3ColorPropertyTb4b4b4(Tb4b4b4[T79c0ff0.0Tb4b4b4, T79c0ff0.0Tb4b4b4, T79c0ff0.0Tb4b4b4, T79c0ff0.0Tb4b4b4]Tb4b4b4)

Tff7b72def Tff7b72__init__Tb4b4b4(Tff7b72selfTb4b4b4, Tff7b72*Tff7b72*Te6edf3kwargsTb4b4b4)Tb4b4b4:
Tff7b72selfTff7b72.Td2a8ffcheck_anim_out Tff7b72= Te6edf3AnimationTb4b4b4(Te6edf3font_sizeTff7b72=T79c0ff0Tb4b4b4, Te6edf3durationTff7b72=T79c0ff0.1Tb4b4b4, Te6edf3tTff7b72=Ta5d6ff"Ta5d6ffout_quadTa5d6ff"Tb4b4b4)
Tff7b72selfTff7b72.Td2a8ffcheck_anim_in Tff7b72= Te6edf3AnimationTb4b4b4(
Te6edf3font_sizeTff7b72=Te6edf3spTb4b4b4(T79c0ff24Tb4b4b4)Tb4b4b4, Te6edf3durationTff7b72=T79c0ff0.1Tb4b4b4, Te6edf3tTff7b72=Ta5d6ff"Ta5d6ffout_quadTa5d6ff"
Tb4b4b4)
Tffa657superTb4b4b4(Tb4b4b4)Tff7b72.Td2a8ff__init__Tb4b4b4(Tff7b72*Tff7b72*Te6edf3kwargsTb4b4b4)
Tff7b72selfTff7b72.Td2a8ffcolor_active Tff7b72= Tff7b72selfTff7b72.Td2a8fftheme_clsTff7b72.Td2a8ffprimary_color
Tff7b72selfTff7b72.Td2a8ffcolor_inactive Tff7b72= Tff7b72selfTff7b72.Td2a8fftheme_clsTff7b72.Td2a8ffsecondary_text_color
Tff7b72selfTff7b72.Td2a8ffdisabled_color Tff7b72= Tff7b72selfTff7b72.Td2a8fftheme_clsTff7b72.Td2a8ffdivider_color
Tff7b72selfTff7b72.Td2a8ff_current_color Tff7b72= Tff7b72selfTff7b72.Td2a8ffcolor_inactive
Tff7b72selfTff7b72.Td2a8ffcheck_anim_outTff7b72.Td2a8ffbindTb4b4b4(
Te6edf3on_completeTff7b72=Tff7b72lambda Tff7b72*Te6edf3xTb4b4b4: Tff7b72selfTff7b72.Td2a8ffcheck_anim_inTff7b72.Td2a8ffstartTb4b4b4(Tff7b72selfTb4b4b4)
Tb4b4b4)
Tff7b72selfTff7b72.Td2a8ffbindTb4b4b4(
Te6edf3checkbox_icon_normalTff7b72=Tff7b72selfTff7b72.Td2a8ffupdate_iconTb4b4b4,
Te6edf3checkbox_icon_downTff7b72=Tff7b72selfTff7b72.Td2a8ffupdate_iconTb4b4b4,
Te6edf3radio_icon_normalTff7b72=Tff7b72selfTff7b72.Td2a8ffupdate_iconTb4b4b4,
Te6edf3radio_icon_downTff7b72=Tff7b72selfTff7b72.Td2a8ffupdate_iconTb4b4b4,
Te6edf3groupTff7b72=Tff7b72selfTff7b72.Td2a8ffupdate_iconTb4b4b4,
Te6edf3color_activeTff7b72=Tff7b72selfTff7b72.Td2a8ffupdate_colorTb4b4b4,
Te6edf3color_inactiveTff7b72=Tff7b72selfTff7b72.Td2a8ffupdate_colorTb4b4b4,
Te6edf3disabled_colorTff7b72=Tff7b72selfTff7b72.Td2a8ffupdate_colorTb4b4b4,
Te6edf3disabledTff7b72=Tff7b72selfTff7b72.Td2a8ffupdate_colorTb4b4b4,
Te6edf3stateTff7b72=Tff7b72selfTff7b72.Td2a8ffupdate_colorTb4b4b4,
Tb4b4b4)
Tff7b72selfTff7b72.Td2a8fftheme_clsTff7b72.Td2a8ffbindTb4b4b4(Te6edf3primary_colorTff7b72=Tff7b72selfTff7b72.Td2a8ffupdate_primary_colorTb4b4b4)
Tff7b72selfTff7b72.Td2a8fftheme_clsTff7b72.Td2a8ffbindTb4b4b4(Te6edf3theme_styleTff7b72=Tff7b72selfTff7b72.Td2a8ffupdate_primary_colorTb4b4b4)
Tff7b72selfTff7b72.Td2a8ffupdate_iconTb4b4b4(Tb4b4b4)
Tff7b72selfTff7b72.Td2a8ffupdate_colorTb4b4b4(Tb4b4b4)

Tff7b72def Td2a8ffupdate_primary_colorTb4b4b4(Tff7b72selfTb4b4b4, Te6edf3instanceTb4b4b4, Te6edf3valueTb4b4b4) Tff7b72-Tff7b72> Tff7b72NoneTb4b4b4:
Tff7b72if Te6edf3value Tff7b72in Tb4b4b4(Ta5d6ff"Ta5d6ffDarkTa5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ffLightTa5d6ff"Tb4b4b4)Tb4b4b4:
Tff7b72if Tff7b72not Tff7b72selfTff7b72.Td2a8ffdisabledTb4b4b4:
Tff7b72selfTff7b72.Td2a8ffcolor Tff7b72= Tff7b72selfTff7b72.Td2a8fftheme_clsTff7b72.Td2a8ffprimary_color
Tff7b72elseTb4b4b4:
Tff7b72selfTff7b72.Td2a8ffcolor Tff7b72= Tff7b72selfTff7b72.Td2a8ffdisabled_color
Tff7b72elseTb4b4b4:
Tff7b72selfTff7b72.Td2a8ffcolor_active Tff7b72= Te6edf3value

Tff7b72def Td2a8ffupdate_iconTb4b4b4(Tff7b72selfTb4b4b4, Tff7b72*Te6edf3argsTb4b4b4) Tff7b72-Tff7b72> Tff7b72NoneTb4b4b4:
Tff7b72if Tff7b72selfTff7b72.Td2a8ffstate Tff7b72== Ta5d6ff"Ta5d6ffdownTa5d6ff"Tb4b4b4:
Tff7b72selfTff7b72.Td2a8fficon Tff7b72= Tb4b4b4(
Tff7b72selfTff7b72.Td2a8ffradio_icon_down Tff7b72if Tff7b72selfTff7b72.Td2a8ffgroup Tff7b72else Tff7b72selfTff7b72.Td2a8ffcheckbox_icon_down
Tb4b4b4)
Tff7b72elseTb4b4b4:
Tff7b72selfTff7b72.Td2a8fficon Tff7b72= Tb4b4b4(
Tff7b72selfTff7b72.Td2a8ffradio_icon_normal
Tff7b72if Tff7b72selfTff7b72.Td2a8ffgroup
Tff7b72else Tff7b72selfTff7b72.Td2a8ffcheckbox_icon_normal
Tb4b4b4)

Tff7b72def Td2a8ffupdate_colorTb4b4b4(Tff7b72selfTb4b4b4, Tff7b72*Te6edf3argsTb4b4b4) Tff7b72-Tff7b72> Tff7b72NoneTb4b4b4:
Tff7b72if Tff7b72selfTff7b72.Td2a8ffdisabledTb4b4b4:
Tff7b72selfTff7b72.Td2a8ff_current_color Tff7b72= Tff7b72selfTff7b72.Td2a8ffdisabled_color
Tff7b72elif Tff7b72selfTff7b72.Td2a8ffstate Tff7b72== Ta5d6ff"Ta5d6ffdownTa5d6ff"Tb4b4b4:
Tff7b72selfTff7b72.Td2a8ff_current_color Tff7b72= Tff7b72selfTff7b72.Td2a8ffcolor_active
Tff7b72elseTb4b4b4:
Tff7b72selfTff7b72.Td2a8ff_current_color Tff7b72= Tff7b72selfTff7b72.Td2a8ffcolor_inactive

Tff7b72def Td2a8ffon_stateTb4b4b4(Tff7b72selfTb4b4b4, Tff7b72*Te6edf3argsTb4b4b4) Tff7b72-Tff7b72> Tff7b72NoneTb4b4b4:
Tff7b72if Tff7b72selfTff7b72.Td2a8ffstate Tff7b72== Ta5d6ff"Ta5d6ffdownTa5d6ff"Tb4b4b4:
Tff7b72selfTff7b72.Td2a8ffcheck_anim_inTff7b72.Td2a8ffcancelTb4b4b4(Tff7b72selfTb4b4b4)
Tff7b72selfTff7b72.Td2a8ffcheck_anim_outTff7b72.Td2a8ffstartTb4b4b4(Tff7b72selfTb4b4b4)
Tff7b72selfTff7b72.Td2a8ffupdate_iconTb4b4b4(Tb4b4b4)
Tff7b72if Tff7b72selfTff7b72.Td2a8ffgroupTb4b4b4:
Tff7b72selfTff7b72.Td2a8ff_release_groupTb4b4b4(Tff7b72selfTb4b4b4)
Tff7b72selfTff7b72.Td2a8ffactive Tff7b72= Tff7b72True
Tff7b72elseTb4b4b4:
Tff7b72selfTff7b72.Td2a8ffcheck_anim_inTff7b72.Td2a8ffcancelTb4b4b4(Tff7b72selfTb4b4b4)
Tff7b72if Tff7b72not Tff7b72selfTff7b72.Td2a8ffgroupTb4b4b4:
Tff7b72selfTff7b72.Td2a8ffcheck_anim_outTff7b72.Td2a8ffstartTb4b4b4(Tff7b72selfTb4b4b4)
Tff7b72selfTff7b72.Td2a8ffupdate_iconTb4b4b4(Tb4b4b4)
Tff7b72selfTff7b72.Td2a8ffactive Tff7b72= Tff7b72False

Tff7b72def Td2a8ffon_activeTb4b4b4(Tff7b72selfTb4b4b4, Tff7b72*Te6edf3argsTb4b4b4) Tff7b72-Tff7b72> Tff7b72NoneTb4b4b4:
Tff7b72selfTff7b72.Td2a8ffstate Tff7b72= Ta5d6ff"Ta5d6ffdownTa5d6ff" Tff7b72if Tff7b72selfTff7b72.Td2a8ffactive Tff7b72else Ta5d6ff"Ta5d6ffnormalTa5d6ff"


Tff7b72class T56d364ThumbIconTb4b4b4(Te6edf3MDIconTb4b4b4)Tb4b4b4:
T8b949e"""
Implements icon for the :class:`~Thumb` widget.

.. versionadded:: 1.0.0
"""


Tff7b72class T56d364ThumbTb4b4b4(
Te6edf3FakeCircularElevationBehaviorTb4b4b4,
Te6edf3CircularRippleBehaviorTb4b4b4,
Te6edf3MDFloatLayoutTb4b4b4,
Tb4b4b4)Tb4b4b4:
T8b949e"""
Implements a thumb for the :class:`~MDSwitch` widget.
"""

Tff7b72def Td2a8ff_set_ellipseTb4b4b4(Tff7b72selfTb4b4b4, Te6edf3instanceTb4b4b4, Te6edf3valueTb4b4b4)Tb4b4b4:
Tff7b72selfTff7b72.Td2a8ffellipseTff7b72.Td2a8ffsize Tff7b72= Tb4b4b4(Tff7b72selfTff7b72.Td2a8ff_ripple_radTb4b4b4, Tff7b72selfTff7b72.Td2a8ff_ripple_radTb4b4b4)
Tff7b72if Tff7b72selfTff7b72.Td2a8ffellipseTff7b72.Td2a8ffsizeTb4b4b4[T79c0ff0Tb4b4b4] Tff7b72> Tff7b72selfTff7b72.Td2a8ffwidth Tff7b72* T79c0ff1.5 Tff7b72and Tff7b72not Tff7b72selfTff7b72.Td2a8ff_fading_outTb4b4b4:
Tff7b72selfTff7b72.Td2a8fffade_outTb4b4b4(Tb4b4b4)
Tff7b72selfTff7b72.Td2a8ffellipseTff7b72.Td2a8ffpos Tff7b72= Tb4b4b4(
Tff7b72selfTff7b72.Td2a8ffcenter_x Tff7b72- Tff7b72selfTff7b72.Td2a8ff_ripple_rad Tff7b72/ T79c0ff2.0Tb4b4b4,
Tff7b72selfTff7b72.Td2a8ffcenter_y Tff7b72- Tff7b72selfTff7b72.Td2a8ff_ripple_rad Tff7b72/ T79c0ff2.0Tb4b4b4,
Tb4b4b4)
Tff7b72selfTff7b72.Td2a8ffstencilTff7b72.Td2a8ffpos Tff7b72= Tb4b4b4(
Tff7b72selfTff7b72.Td2a8ffcenter_x Tff7b72- Tb4b4b4(Tff7b72selfTff7b72.Td2a8ffwidth Tff7b72* Tff7b72selfTff7b72.Td2a8ffripple_scaleTb4b4b4) Tff7b72/ T79c0ff2Tb4b4b4,
Tff7b72selfTff7b72.Td2a8ffcenter_y Tff7b72- Tb4b4b4(Tff7b72selfTff7b72.Td2a8ffheight Tff7b72* Tff7b72selfTff7b72.Td2a8ffripple_scaleTb4b4b4) Tff7b72/ T79c0ff2Tb4b4b4,
Tb4b4b4)


Tff7b72class T56d364MDSwitchTb4b4b4(Te6edf3ThemableBehaviorTb4b4b4, Te6edf3FloatLayoutTb4b4b4)Tb4b4b4:
Te6edf3active Tff7b72= Te6edf3BooleanPropertyTb4b4b4(Tff7b72FalseTb4b4b4)
T8b949e"""
Indicates if the switch is active or inactive.

:attr:`active` is a :class:`~kivy.properties.BooleanProperty`
and defaults to `False`.
"""

Te6edf3icon_active Tff7b72= Te6edf3StringPropertyTb4b4b4(Tb4b4b4)
T8b949e"""
Thumb icon when the switch is in the active state (only M3 style).

.. versionadded:: 1.0.0

.. code-block:: kv

MDSwitch:
active: True
icon_active: "check"

.. image:: https://github.com/HeaTTheatR/KivyMD-data/raw/master/gallery/kivymddoc/switch-icon-active.png
:align: center

:attr:`icon_active` is a :class:`~kivy.properties.StringProperty`
and defaults to `''`.
"""

Te6edf3icon_inactive Tff7b72= Te6edf3StringPropertyTb4b4b4(Tb4b4b4)
T8b949e"""
Thumb icon when the switch is in an inactive state (only M3 style).

.. versionadded:: 1.0.0

.. code-block:: kv

MDSwitch:
icon_inactive: "close"

.. image:: https://github.com/HeaTTheatR/KivyMD-data/raw/master/gallery/kivymddoc/switch-icon-inactive.png
:align: center

:attr:`icon_inactive` is a :class:`~kivy.properties.StringProperty`
and defaults to `''`.
"""

Te6edf3icon_active_color Tff7b72= Te6edf3ColorPropertyTb4b4b4(Tff7b72NoneTb4b4b4)
T8b949e"""
Thumb icon color when the switch is in the active state (only M3 style).

.. versionadded:: 1.0.0

.. code-block:: kv

MDSwitch:
active: True
icon_active: "check"
icon_active_color: "white"

.. image:: https://github.com/HeaTTheatR/KivyMD-data/raw/master/gallery/kivymddoc/switch-icon-active-color.png
:align: center

:attr:`icon_active_color` is a :class:`~kivy.properties.ColorProperty`
and defaults to `None`.
"""

Te6edf3icon_inactive_color Tff7b72= Te6edf3ColorPropertyTb4b4b4(Tff7b72NoneTb4b4b4)
T8b949e"""
Thumb icon color when the switch is in an inactive state (only M3 style).

.. versionadded:: 1.0.0

.. code-block:: kv

MDSwitch:
icon_inactive: "close"
icon_inactive_color: "grey"

.. image:: https://github.com/HeaTTheatR/KivyMD-data/raw/master/gallery/kivymddoc/switch-icon-inactive-color.png
:align: center

:attr:`icon_inactive_color` is a :class:`~kivy.properties.ColorProperty`
and defaults to `None`.
"""

Te6edf3thumb_color_active Tff7b72= Te6edf3ColorPropertyTb4b4b4(Tff7b72NoneTb4b4b4)
T8b949e"""
The color of the thumb when the switch is active.

.. versionadded:: 1.0.0

.. code-block:: kv

MDSwitch:
active: True
thumb_color_active: "brown"

.. image:: https://github.com/HeaTTheatR/KivyMD-data/raw/master/gallery/kivymddoc/switch-thumb-color-active.png
:align: center

:attr:`thumb_color_active` is an :class:`~kivy.properties.ColorProperty`
and default to `None`.
"""

Te6edf3thumb_color_inactive Tff7b72= Te6edf3ColorPropertyTb4b4b4(Tff7b72NoneTb4b4b4)
T8b949e"""
The color of the thumb when the switch is inactive.

.. versionadded:: 1.0.0

.. code-block:: kv

MDSwitch:
thumb_color_inactive: "brown"

.. image:: https://github.com/HeaTTheatR/KivyMD-data/raw/master/gallery/kivymddoc/switch-thumb-color-inactive.png
:align: center

:attr:`thumb_color_inactive` is an :class:`~kivy.properties.ColorProperty`
and default to `None`.
"""

Te6edf3thumb_color_disabled Tff7b72= Te6edf3ColorPropertyTb4b4b4(Tff7b72NoneTb4b4b4)
T8b949e"""
The color of the thumb when the switch is in the disabled state.

.. code-block:: kv

MDSwitch:
active: True
thumb_color_disabled: "brown"
disabled: True

.. image:: https://github.com/HeaTTheatR/KivyMD-data/raw/master/gallery/kivymddoc/switch-thumb-color-disabled.png
:align: center

:attr:`thumb_color_disabled` is an :class:`~kivy.properties.ColorProperty`
and default to `None`.
"""

Te6edf3track_color_active Tff7b72= Te6edf3ColorPropertyTb4b4b4(Tff7b72NoneTb4b4b4)
T8b949e"""
The color of the track when the switch is active.

.. code-block:: kv

MDSwitch:
active: True
track_color_active: "red"

.. image:: https://github.com/HeaTTheatR/KivyMD-data/raw/master/gallery/kivymddoc/switch-track-color-active.png
:align: center

:attr:`track_color_active` is an :class:`~kivy.properties.ColorProperty`
and default to `None`.
"""

Te6edf3track_color_inactive Tff7b72= Te6edf3ColorPropertyTb4b4b4(Tff7b72NoneTb4b4b4)
T8b949e"""
The color of the track when the switch is inactive.

.. versionadded:: 1.0.0

.. code-block:: kv

MDSwitch:
track_color_inactive: "red"

.. image:: https://github.com/HeaTTheatR/KivyMD-data/raw/master/gallery/kivymddoc/switch-track-color-inactive.png
:align: center

:attr:`track_color_inactive` is an :class:`~kivy.properties.ColorProperty`
and default to `None`.
"""

Te6edf3track_color_disabled Tff7b72= Te6edf3ColorPropertyTb4b4b4(Tff7b72NoneTb4b4b4)
T8b949e"""
The color of the track when the switch is in the disabled state.

.. code-block:: kv

MDSwitch:
track_color_disabled: "lightgrey"
disabled: True

.. image:: https://github.com/HeaTTheatR/KivyMD-data/raw/master/gallery/kivymddoc/switch-track-color-disabled.png
:align: center

:attr:`track_color_disabled` is an :class:`~kivy.properties.ColorProperty`
and default to `None`.
"""

Te6edf3_thumb_pos Tff7b72= Te6edf3ListPropertyTb4b4b4(Tb4b4b4[T79c0ff0Tb4b4b4, T79c0ff0Tb4b4b4]Tb4b4b4)

Tff7b72def Tff7b72__init__Tb4b4b4(Tff7b72selfTb4b4b4, Tff7b72*Tff7b72*Te6edf3kwargsTb4b4b4)Tb4b4b4:
Tffa657superTb4b4b4(Tb4b4b4)Tff7b72.Td2a8ff__init__Tb4b4b4(Tff7b72*Tff7b72*Te6edf3kwargsTb4b4b4)
Tff7b72selfTff7b72.Td2a8ffbindTb4b4b4(Te6edf3icon_activeTff7b72=Tff7b72selfTff7b72.Td2a8ffset_iconTb4b4b4, Te6edf3icon_inactiveTff7b72=Tff7b72selfTff7b72.Td2a8ffset_iconTb4b4b4)
Tff7b72selfTff7b72.Td2a8ffsize_hint Tff7b72= Tb4b4b4(Tff7b72NoneTb4b4b4, Tff7b72NoneTb4b4b4)
Tff7b72selfTff7b72.Td2a8ffsize Tff7b72= Tb4b4b4(Te6edf3dpTb4b4b4(T79c0ff36Tb4b4b4)Tb4b4b4, Te6edf3dpTb4b4b4(T79c0ff48Tb4b4b4)Tb4b4b4)
Te6edf3ClockTff7b72.Td2a8ffschedule_onceTb4b4b4(Tff7b72selfTff7b72.Td2a8ff_check_styleTb4b4b4)
Te6edf3ClockTff7b72.Td2a8ffschedule_onceTb4b4b4(Tff7b72lambda Te6edf3xTb4b4b4: Tff7b72selfTff7b72.Td2a8ff_update_thumb_posTb4b4b4(Te6edf3animationTff7b72=Tff7b72FalseTb4b4b4)Tb4b4b4)
Te6edf3ClockTff7b72.Td2a8ffschedule_onceTb4b4b4(Tff7b72lambda Te6edf3xTb4b4b4: Tff7b72selfTff7b72.Td2a8ffon_activeTb4b4b4(Tff7b72selfTb4b4b4, Tff7b72selfTff7b72.Td2a8ffactiveTb4b4b4)Tb4b4b4)

Tff7b72def Td2a8ffset_iconTb4b4b4(Tff7b72selfTb4b4b4, Te6edf3instance_switchTb4b4b4, Te6edf3icon_valueTb4b4b4: Tffa657strTb4b4b4) Tff7b72-Tff7b72> Tff7b72NoneTb4b4b4:
Tff7b72def Td2a8ffset_iconTb4b4b4(Tff7b72*Te6edf3argsTb4b4b4)Tb4b4b4:
Te6edf3icon Tff7b72= Te6edf3icon_value Tff7b72if Te6edf3icon_value Tff7b72else Ta5d6ff"Ta5d6ffblankTa5d6ff"
Tff7b72selfTff7b72.Td2a8ffidsTff7b72.Td2a8ffthumbTff7b72.Td2a8ffidsTff7b72.Td2a8fficonTff7b72.Td2a8fficon Tff7b72= Te6edf3icon

Te6edf3ClockTff7b72.Td2a8ffschedule_onceTb4b4b4(Te6edf3set_iconTb4b4b4, T79c0ff0.2Tb4b4b4)

Tff7b72def Td2a8ffon_activeTb4b4b4(Tff7b72selfTb4b4b4, Te6edf3instance_switchTb4b4b4, Te6edf3active_valueTb4b4b4: Tffa657boolTb4b4b4) Tff7b72-Tff7b72> Tff7b72NoneTb4b4b4:
Tff7b72if Tff7b72selfTff7b72.Td2a8fftheme_clsTff7b72.Td2a8ffmaterial_style Tff7b72== Ta5d6ff"Ta5d6ffM3Ta5d6ff" Tff7b72and Tff7b72selfTff7b72.Td2a8ffwidget_style Tff7b72!= Ta5d6ff"Ta5d6ffiosTa5d6ff"Tb4b4b4:
Te6edf3size Tff7b72= Tb4b4b4(
Tb4b4b4(
Tb4b4b4(Te6edf3dpTb4b4b4(T79c0ff16Tb4b4b4)Tb4b4b4, Te6edf3dpTb4b4b4(T79c0ff16Tb4b4b4)Tb4b4b4)
Tff7b72if Tff7b72not Tff7b72selfTff7b72.Td2a8fficon_inactive
Tff7b72else Tb4b4b4(Te6edf3dpTb4b4b4(T79c0ff24Tb4b4b4)Tb4b4b4, Te6edf3dpTb4b4b4(T79c0ff24Tb4b4b4)Tb4b4b4)
Tb4b4b4)
Tff7b72if Tff7b72not Te6edf3active_value
Tff7b72else Tb4b4b4(Te6edf3dpTb4b4b4(T79c0ff24Tb4b4b4)Tb4b4b4, Te6edf3dpTb4b4b4(T79c0ff24Tb4b4b4)Tb4b4b4)
Tb4b4b4)
Te6edf3icon Tff7b72= Ta5d6ff"Ta5d6ffblankTa5d6ff"
Te6edf3color Tff7b72= Tb4b4b4(T79c0ff0Tb4b4b4, T79c0ff0Tb4b4b4, T79c0ff0Tb4b4b4, T79c0ff0Tb4b4b4)

Tff7b72if Tff7b72selfTff7b72.Td2a8fficon_active Tff7b72and Te6edf3active_valueTb4b4b4:
Te6edf3icon Tff7b72= Tff7b72selfTff7b72.Td2a8fficon_active
Te6edf3color Tff7b72= Tb4b4b4(
Tff7b72selfTff7b72.Td2a8fficon_active_color
Tff7b72if Tff7b72selfTff7b72.Td2a8fficon_active_color
Tff7b72else Tff7b72selfTff7b72.Td2a8fftheme_clsTff7b72.Td2a8fftext_color
Tb4b4b4)
Tff7b72elif Tff7b72selfTff7b72.Td2a8fficon_inactive Tff7b72and Tff7b72not Te6edf3active_valueTb4b4b4:
Te6edf3icon Tff7b72= Tff7b72selfTff7b72.Td2a8fficon_inactive
Te6edf3color Tff7b72= Tb4b4b4(
Tff7b72selfTff7b72.Td2a8fficon_inactive_color
Tff7b72if Tff7b72selfTff7b72.Td2a8fficon_inactive_color
Tff7b72else Tff7b72selfTff7b72.Td2a8fftheme_clsTff7b72.Td2a8fftext_color
Tb4b4b4)

Te6edf3AnimationTb4b4b4(Te6edf3sizeTff7b72=Te6edf3sizeTb4b4b4, Te6edf3tTff7b72=Ta5d6ff"Ta5d6ffout_quadTa5d6ff"Tb4b4b4, Te6edf3dTff7b72=T79c0ff0.2Tb4b4b4)Tff7b72.Td2a8ffstartTb4b4b4(Tff7b72selfTff7b72.Td2a8ffidsTff7b72.Td2a8ffthumbTb4b4b4)
Te6edf3AnimationTb4b4b4(Te6edf3colorTff7b72=Te6edf3colorTb4b4b4, Te6edf3tTff7b72=Ta5d6ff"Ta5d6ffout_quadTa5d6ff"Tb4b4b4, Te6edf3dTff7b72=T79c0ff0.2Tb4b4b4)Tff7b72.Td2a8ffstartTb4b4b4(
Tff7b72selfTff7b72.Td2a8ffidsTff7b72.Td2a8ffthumbTff7b72.Td2a8ffidsTff7b72.Td2a8fficon
Tb4b4b4)
Tff7b72selfTff7b72.Td2a8ffset_iconTb4b4b4(Tff7b72selfTb4b4b4, Te6edf3iconTb4b4b4)

Tff7b72selfTff7b72.Td2a8ff_update_thumb_posTb4b4b4(Tb4b4b4)

T8b949e# FIXME: If you move the cursor from the switch during the
T8b949e# `on_touch_down` event, the animation of returning the thumb to
T8b949e# the previous size does not work. The following code fixes this.
Tff7b72def Td2a8ffon_thumb_downTb4b4b4(Tff7b72selfTb4b4b4) Tff7b72-Tff7b72> Tff7b72NoneTb4b4b4:
T8b949e"""
Called at the on_touch_down event of the :class:`~Thumb` object.
Indicates the state of the switch "on/off" by an animation of
increasing the size of the thumb.
"""

Tff7b72if Tff7b72selfTff7b72.Td2a8ffwidget_style Tff7b72!= Ta5d6ff"Ta5d6ffiosTa5d6ff" Tff7b72and Tff7b72selfTff7b72.Td2a8fftheme_clsTff7b72.Td2a8ffmaterial_style Tff7b72== Ta5d6ff"Ta5d6ffM3Ta5d6ff"Tb4b4b4:
Tff7b72if Tff7b72selfTff7b72.Td2a8ffactiveTb4b4b4:
Te6edf3size Tff7b72= Tb4b4b4(Te6edf3dpTb4b4b4(T79c0ff28Tb4b4b4)Tb4b4b4, Te6edf3dpTb4b4b4(T79c0ff28Tb4b4b4)Tb4b4b4)
Te6edf3pos Tff7b72= Tb4b4b4(
Tff7b72selfTff7b72.Td2a8ffidsTff7b72.Td2a8ffthumbTff7b72.Td2a8ffposTb4b4b4[T79c0ff0Tb4b4b4] Tff7b72- Te6edf3dpTb4b4b4(T79c0ff2Tb4b4b4)Tb4b4b4,
Tff7b72selfTff7b72.Td2a8ffidsTff7b72.Td2a8ffthumbTff7b72.Td2a8ffposTb4b4b4[T79c0ff1Tb4b4b4] Tff7b72- Te6edf3dpTb4b4b4(T79c0ff1.8Tb4b4b4)Tb4b4b4,
Tb4b4b4)
Tff7b72elseTb4b4b4:
Te6edf3size Tff7b72= Tb4b4b4(Te6edf3dpTb4b4b4(T79c0ff26Tb4b4b4)Tb4b4b4, Te6edf3dpTb4b4b4(T79c0ff26Tb4b4b4)Tb4b4b4)
Te6edf3pos Tff7b72= Tb4b4b4(
Tb4b4b4(
Tff7b72selfTff7b72.Td2a8ffidsTff7b72.Td2a8ffthumbTff7b72.Td2a8ffposTb4b4b4[T79c0ff0Tb4b4b4] Tff7b72- Te6edf3dpTb4b4b4(T79c0ff5Tb4b4b4)Tb4b4b4,
Tff7b72selfTff7b72.Td2a8ffidsTff7b72.Td2a8ffthumbTff7b72.Td2a8ffposTb4b4b4[T79c0ff1Tb4b4b4] Tff7b72- Te6edf3dpTb4b4b4(T79c0ff5Tb4b4b4)Tb4b4b4,
Tb4b4b4)
Tff7b72if Tff7b72not Tff7b72selfTff7b72.Td2a8fficon_inactive
Tff7b72else Tb4b4b4(
Tff7b72selfTff7b72.Td2a8ffidsTff7b72.Td2a8ffthumbTff7b72.Td2a8ffposTb4b4b4[T79c0ff0Tb4b4b4] Tff7b72+ Te6edf3dpTb4b4b4(T79c0ff1Tb4b4b4)Tb4b4b4,
Tff7b72selfTff7b72.Td2a8ffidsTff7b72.Td2a8ffthumbTff7b72.Td2a8ffposTb4b4b4[T79c0ff1Tb4b4b4] Tff7b72- Te6edf3dpTb4b4b4(T79c0ff1Tb4b4b4)Tb4b4b4,
Tb4b4b4)
Tb4b4b4)
Te6edf3AnimationTb4b4b4(Te6edf3sizeTff7b72=Te6edf3sizeTb4b4b4, Te6edf3posTff7b72=Te6edf3posTb4b4b4, Te6edf3tTff7b72=Ta5d6ff"Ta5d6ffout_quadTa5d6ff"Tb4b4b4, Te6edf3dTff7b72=T79c0ff0.2Tb4b4b4)Tff7b72.Td2a8ffstartTb4b4b4(
Tff7b72selfTff7b72.Td2a8ffidsTff7b72.Td2a8ffthumb
Tb4b4b4)

Tff7b72def Td2a8ff_update_thumb_posTb4b4b4(Tff7b72selfTb4b4b4, Tff7b72*Te6edf3argsTb4b4b4, Te6edf3animationTff7b72=Tff7b72TrueTb4b4b4)Tb4b4b4:
Tff7b72if Tff7b72selfTff7b72.Td2a8ffactiveTb4b4b4:
Te6edf3_thumb_pos Tff7b72= Tb4b4b4(
Tff7b72selfTff7b72.Td2a8ffwidth
Tff7b72- Tb4b4b4(
Te6edf3dpTb4b4b4(T79c0ff14Tb4b4b4)
Tff7b72if Tff7b72selfTff7b72.Td2a8ffwidget_style Tff7b72== Ta5d6ff"Ta5d6ffiosTa5d6ff"
Tff7b72or Tff7b72selfTff7b72.Td2a8fftheme_clsTff7b72.Td2a8ffmaterial_style Tff7b72== Ta5d6ff"Ta5d6ffM2Ta5d6ff"
Tff7b72else Te6edf3dpTb4b4b4(T79c0ff28Tb4b4b4)
Tb4b4b4)Tb4b4b4,
Tff7b72selfTff7b72.Td2a8ffheight Tff7b72/ T79c0ff2
Tff7b72- Tb4b4b4(
Te6edf3dpTb4b4b4(T79c0ff12Tb4b4b4)
Tff7b72if Tff7b72selfTff7b72.Td2a8ffwidget_style Tff7b72== Ta5d6ff"Ta5d6ffiosTa5d6ff"
Tff7b72or Tff7b72selfTff7b72.Td2a8fftheme_clsTff7b72.Td2a8ffmaterial_style Tff7b72== Ta5d6ff"Ta5d6ffM2Ta5d6ff"
Tff7b72else Te6edf3dpTb4b4b4(T79c0ff16Tb4b4b4)
Tb4b4b4)Tb4b4b4,
Tb4b4b4)
Tff7b72elseTb4b4b4:
Te6edf3_thumb_pos Tff7b72= Tb4b4b4(
T79c0ff0 Tff7b72if Tff7b72not Tff7b72selfTff7b72.Td2a8fficon_inactive Tff7b72else Te6edf3dpTb4b4b4(Tff7b72-T79c0ff14Tb4b4b4)Tb4b4b4,
Tff7b72selfTff7b72.Td2a8ffheight Tff7b72/ T79c0ff2
Tff7b72- Tb4b4b4(
Te6edf3dpTb4b4b4(T79c0ff12Tb4b4b4)
Tff7b72if Tff7b72selfTff7b72.Td2a8ffwidget_style Tff7b72== Ta5d6ff"Ta5d6ffiosTa5d6ff"
Tff7b72or Tff7b72selfTff7b72.Td2a8fftheme_clsTff7b72.Td2a8ffmaterial_style Tff7b72== Ta5d6ff"Ta5d6ffM2Ta5d6ff"
Tff7b72else Te6edf3dpTb4b4b4(T79c0ff16Tb4b4b4)
Tb4b4b4)Tb4b4b4,
Tb4b4b4)
Te6edf3AnimationTff7b72.Td2a8ffcancel_allTb4b4b4(Tff7b72selfTb4b4b4, Ta5d6ff"Ta5d6ff_thumb_posTa5d6ff"Tb4b4b4)

Tff7b72if Te6edf3animationTb4b4b4:
Te6edf3AnimationTb4b4b4(Te6edf3_thumb_posTff7b72=Te6edf3_thumb_posTb4b4b4, Te6edf3durationTff7b72=T79c0ff0.2Tb4b4b4, Te6edf3tTff7b72=Ta5d6ff"Ta5d6ffout_quadTa5d6ff"Tb4b4b4)Tff7b72.Td2a8ffstartTb4b4b4(
Tff7b72self
Tb4b4b4)
Tff7b72elseTb4b4b4:
Tff7b72selfTff7b72.Td2a8ff_thumb_pos Tff7b72= Te6edf3_thumb_pos

Tff7b72def Td2a8ff_check_styleTb4b4b4(Tff7b72selfTb4b4b4, Tff7b72*Te6edf3argsTb4b4b4)Tb4b4b4:
Tff7b72if Tff7b72selfTff7b72.Td2a8ffwidget_style Tff7b72== Ta5d6ff"Ta5d6ffiosTa5d6ff" Tff7b72or Tff7b72selfTff7b72.Td2a8fftheme_clsTff7b72.Td2a8ffmaterial_style Tff7b72== Ta5d6ff"Ta5d6ffM2Ta5d6ff"Tb4b4b4:
Tff7b72selfTff7b72.Td2a8ffset_iconTb4b4b4(Tff7b72selfTb4b4b4, Ta5d6ff"Ta5d6ff"Tb4b4b4)


──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────